package sz.szsmk.citizencard.mvp.contract;

import sz.szsmk.citizencard.model.network.bean.response.BaseBean;
import sz.szsmk.citizencard.model.network.bean.response.CheckThirdAppRes;
import sz.szsmk.citizencard.model.network.bean.response.ImgCodeRes;
import sz.szsmk.citizencard.model.network.bean.response.ProtocolsRes;
import sz.szsmk.citizencard.ui.base.IBaseContact;

/**
 * Copyright (c)2018
 * author: zdh
 * created on: 2018/5/31 14:54
 * description:
 */
public interface IGetCodeContact {

    interface IGetCodePresenter<T extends IBaseContact.IBaseView> extends IBaseContact.IBasePresenter {
        void checkUserByMobile(String type, String androidId, String codeType, String userPhone);

        void thirdAppLogin(int i, String mobile, String setPsdEtSure, String uid);

        void checkThirdApp(String phone);

        void serviceAgreement();

        void getProtocols(String sceneNo);

        void getImgCode(String phone);

    }

    interface IGetCodeView extends IBaseContact.IBaseView {
        // 获得数据失败
        void updataError(String message);

        // 获得数据成功
        void updataSuccess();

        void getCodeFail(String message);

        void checkUserSucc(String msg);

        void checkUserFail(BaseBean msg);

        void getCodeSucc();

        void thirdAppLogin();

        void thirdAppLoginSucc();

        void thirdAppLoginFail(String message);

        void checkThirdAppFail();

        void checkThirdAppSucc(CheckThirdAppRes response);

        void serviceAgreementFail();

        void serviceAgreementSucc();

        void userIshave();

        void getProtocolsSucc(ProtocolsRes protocolsRes);

        void getProtocolsFail();

        void getImgCodeSucc(ImgCodeRes imgCodeRes);

        void getImgCodeFail();
    }
}
